<?php

class Programas_IndexController extends Zend_Controller_Action {
	private $nav;
	
     public function init() {
		$this->nav = new App_Util_Navegacion();
		$this->nav->agregar_navegacion ( "Listado de programas", "/programas/index", "Listado de programas" );
		
	}
	
    public function indexAction() {
        $this->view->nav = $this->nav;
        $programas = new Programas_Model_Programas();
        
        $datos = array();
        $datos["codsede"] = "";
		switch(App_User::getCodigoPadreRol()){
		    case Roles_Model_Roles::CODPADRE_SEDE:
		        $datos["codsede"] = App_User::getCodigoSede();
		    break;
		}
        $this->view->datos = $programas->getProgramas($datos);
    }

    public function crearprogramaAction() {
        $programas = new Programas_Model_Programas();
        
        $datos = array();
        
        $accion = "Crear ";
        $datos["estado"] = 1;
        $codprograma = $this->_getParam("codprograma");
        if (!empty($codprograma)){
            $datos= $programas->getPrograma($codprograma);
            $datos["sede"] = "";
            if (!empty($datos["codsede"])){
    			$sede= new Sedes_Model_Sedes();
    			$datossede = $sede->getSede($datos["codsede"]);
    			$datos["sede"] = $datossede["nombresede"];
            }
            $datos["ubicacion"] = "";
            if (!empty($datos["codubicacion"])){
    			$ubicacion= new Generales_Model_Ubicaciongeografica();
    			$datosubicacion= $ubicacion->cargarDatos($datos["codubicacion"]);
    			$datos["ubicacion"] = $datosubicacion["nombreubicacion"];
            }
            
//            $datos["fechavencimientorc"] = substr($datos["fechavencimientorc"], 0,10);
            $accion = "Modificar ";
        }else{
        	switch(App_User::getCodigoPadreRol()){
		    case Roles_Model_Roles::CODPADRE_SEDE:
		        $datos["codsede"] = App_User::getCodigoSede();
		        $datos["sede"] = App_User::getNombreSede();
		    break;
		}
        }
        
        $this->nav->agregar_navegacion("{$accion} Programa", "","{$accion} Programa");
		$this->view->nav = $this->nav;

        $form = new Programas_Form_Crearprograma();
		$form->populate($datos);
        $form->setAction($this->view->baseUrl("/programas/index/guardarprograma"));
        $form->recoverFromRedirect();
		$this->view->form = $form;
    }
    
    public function guardarprogramaAction(){
        $form = new Programas_Form_Crearprograma();
        if($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())){
			try {
				$programas = new Programas_Model_Programas();
				$datos = $this->getRequest()->getPost();
				
//				$array_fecha = explode("/", $datos["fechavencimientorc"]);
//				$datos["fechavencimientorc"]= "{$array_fecha[2]}-{$array_fecha[1]}-{$array_fecha[0]}";
//				Zend_Debug::dump($datos);
//				exit();
				$key = $programas->guardarPrograma($datos);
				if (empty($datos["codprograma"])){
				    $datos["codprograma"] = $key;
				}
				$this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
			} catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
        } else {
            $form->setStateRedirect();
        }
        $cadena = "";
        if (!empty($datos["codprograma"])){
            $parametros["codprograma"] = $datos["codprograma"];
            $cadena =App_Util_SafeUrl::encriptar($parametros, false);
             $this->_helper->redirector( "crearprograma","index","programas",$cadena);
        }
         $this->_helper->redirector( "crearprograma","index","programas");
	}
	
   public function eliminarprogramaAction() {
        try {
            $programas = new Programas_Model_Programas();
            $programas ->eliminarPrograma($this->_getParam("codprograma"));
            $this->view->priorityMessenger("El registro se eliminó correctamente", "success");
        } catch(Exception $e) {
            $this->view->priorityMessenger($e->getMessage(), "error");
        }
        $this->_helper->redirector("index");
    }
		

	public function autolistaAction(){
		$this->_helper->layout->disableLayout ();
		$campoConsulta = strtolower($this->_getParam ( 'q' ));
		$items=array();
		if ($campoConsulta){
			$usuarios = new Usuarios_Model_Usuarios();
			$items= $usuarios->cargardatosauto($campoConsulta);
		}
		$this->view->items=$items;
	}
	
}